﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FrmLogin
{
    public partial class Form6 : Form
    {
        public int idUsuario { get; set; }
        DataTable dtPermisos = new DataTable();
        clsFunciones _metodos = new clsFunciones();

        public Form6()
        {
            InitializeComponent();
        }

        private void Form6_Load(object sender, EventArgs e)
        {
            cargarPermisos();
        }

        private void cargarPermisos()
        {
            cargarPermisos(1, tvPerDisponibles);
            cargarPermisos(2, tvPerAsignados);
        }

        private void cargarPermisos(int val, TreeView tv)
        {
            //Limpiamos los TreeViews
            tv.Nodes.Clear();
            TreeNode _nodoPadre;
            if (val == 1) dtPermisos = _metodos.GetDataDisponibleByIdUsuario(idUsuario);
            else dtPermisos = _metodos.GetDataAsignadaByIdUsuario(idUsuario);

            if(dtPermisos.Rows.Count == 0) return;

            tv.BeginUpdate();
            foreach (DataRow row in dtPermisos.Rows)
            {
                _nodoPadre = tv.Nodes.Add(row["Modulo"].ToString());
                _nodoPadre.Tag = Convert.ToInt32(row["IdModulo"].ToString());
            }            
            tv.EndUpdate();
            tv.Sorted = true;
        }

        private void btnDeLPermiso_Click(object sender, EventArgs e)
        {
            TreeNode node = tvPerAsignados.SelectedNode;
            _metodos.deletePermisoUsuario(idUsuario, Convert.ToInt32(node.Tag));
            cargarPermisos();
        }

        private void btnAddPermiso_Click(object sender, EventArgs e)
        {
            TreeNode node = tvPerDisponibles.SelectedNode;
            _metodos.insertPermisoUsuario(idUsuario, Convert.ToInt32(node.Tag));
            cargarPermisos();
        }
    }
}
